Migrazione dalla versione precedente
Per aggiornare dalla versione v2.x alla versione v3.x serve aggiornare il database, a causa delle modifiche recentemente introdotte, tra cui:
- Riscrittura dello schema del database
- Spostamento delle impostazioni da un file al database
Aggiornare il database è un'operazione rischiosa! Assicurati di avere un backup a portata di mano in caso qualcosa vada storto.
Per aggiornare il database, ci sono vari modi:
- Pagina web (più semplice e consigliato)
- Linea di comando
- Manualmente (altamente sconsigliato!!)
Passaggi richiesti per iniziare l'aggiornamento
Se hai installato con Docker, puoi saltare questi passaggi.
Supponendo che la cartella di installazione sia /var/www/html:
Assicurarsi che la cartella /var/www/utils esista (la cartella superiore rispetto a quella dove sono salvati i file della piattaforma) e contenga i file richiesti (richiesta solo per la migrazione). Per correggere:
mkdir /var/www/utils
cp -r orario/utils/* /var/www/utils/
Assicurarsi che il file /var/www/schema.sql esista (richiesto solo durante la migrazione). Per correggere:
cp orario/schema.sql /var/www/schema.sql
Una volta eseguita la migrazione questi file possono essere eliminati
Aggiornare dalla piattaforma
- Una volta aggiornata la piattaforma Orario, spunterà fuori un messaggio rosso che invita ad aggiornare il database.
- Accedere all'amministrazione
- Automaticamente spunterà la pagina di aggiornamento del database.
- Leggere attentamente le modifiche che verranno effettuate e cliccare su Avvia aggiornamento
- Attendere il messaggio verde che indica il completamento dell'aggiornamento
In caso di errore (messaggio rosso), non riprovare immediatamente l'aggiornamento, il database potrebbe corrompersi definitivamente. Ripristinare un backup del database e riprovare. Se il problema persiste, aprite una issue su GitHub
Aggiornare da linea di comando
- Entrate nella cartella
/var/www/utils(o equivalente Windows) - Eseguite l'utilità di aggiornamento
php migrate.php
- Confermate e attendete la fine degli aggiornamenti
In caso di errore, non riprovare immediatamente l'aggiornamento, il database potrebbe corrompersi definitivamente. Ripristinare un backup del database e riprovare. Se il problema persiste, aprite una issue su GitHub
Aggiornare manualmente
La procedura di aggiornamento manuale viene rilasciata senza alcuna garanzia. Se qualcosa va storto, non siamo responsabili.
- Entra nella linea di comando del tuo server database
- Rinomina le tabelle vecchie:
USE school_timetable;
RENAME TABLE classes TO classes_legacy, subjects TO subjects_legacy, timetable TO timetable_legacy;
- Importa
schema.sql. - Esegui
migrate_sql_v1.sqlper popolare il nuovo modello. - Elimina le tabelle legacy (opzionale)